home *** CD-ROM | disk | FTP | other *** search
/ Revolution - Das Atari CD Magazin 1997 / Revolution - Das Atari CD Magazin 1.iso / software / anwendng / utility / gemlabel / dokument / protokol.txt < prev    next >
Text File  |  1996-07-21  |  8KB  |  207 lines

  1. Definition des GLMA/MAGL-Protokolls
  2.  
  3. Dieses Protokoll dient zum Informationsaustausch zwischen GEMLABEL
  4. und einem (bzw. mehreren) Modul-Accessories und wird über die AES
  5. Message-Que realisiert
  6.  
  7. Für das Protokoll werden Nachrichtennummern von 13000-13300 ver-
  8. wendet
  9.  
  10. Diese Datei ist hauptsächlich für Programmierer gedacht, die dieses
  11. Protokoll in eigenen Programmen oder MAs (Modulaccessories) unter-
  12. stützen wollen
  13.  
  14. Aufbau des Message-Buffers:
  15. 8 Worte: Msg%(0)-Msg%(7) (Basicschreibweise)
  16.          int Msg%[7]     (C-Schreibweise)
  17.  
  18. In dieser Anleitung verwende ich die Basicschreibweise
  19.  
  20. Nun zur Beschreibung der einzelnen Protokollfunktionen
  21.  
  22. Nachrichtennamen die mit MA beginnen, werden von einem MA an 
  23. Gemlabel geschickt, Nachrichtennummern die mit GM beginnen,
  24. werden von Gemlabel an ein MA geschickt
  25.  
  26. In Msg%(0) befindet sich die Funktionsnummer, in Msg%(1) befindet
  27. sich die ID des Absenders der Nachricht. Alle anderen Msg%(X) die
  28. nicht angegeben sind, sind auf 0 zu setzen
  29.  
  30. 13000     MG_AERROR
  31.           Im MA ist ein Fehler aufgetreten. Falls auf eine Nach-
  32.           richt des MA gewartet wird, muß abgebrochen werden
  33.  
  34. 13001     MG_WVER
  35.           Über diese Funktion kann die Version von GEMLABEL
  36.           erfragt werden
  37.  
  38. 13002     GM_VER
  39.           Dies ist die Antwort auf MG_WVER
  40.           Msg%(1)=Gemlabel-ID
  41.           Msg%(2)=Version von Gemlabel ( 109=1.09, 221=2.21 )
  42.           Msg%(3)=Ascii-Wert der Programmart
  43.                     (F=Freeware, S=Shareware, P=Programmierer-
  44.                      version, ß=ß-Version)
  45.           Msg%(4)=Oberes Wort des Datums
  46.           Msg%(5)=Unteres Wort des Datums
  47.                     Format des Datums: $15051995 bzw. 0x15051995
  48.                     bedeutet 15.05.1995
  49.  
  50. 13003     SENDKEY
  51.           Damit kann Gemlabel ein Tastendruck übergeben werden
  52.           Msg%(2)=Scancode oder -1, wenn unbenutzt
  53.           Msg%(3)=Asciicode oder -1, wenn unbenutzt
  54.           Msg%(4)=Tastaturstatus (Scan, Shift, Ascii, ...), oder
  55.                     0, wenn unbenutzt
  56.           Msg%(5)=User-Magic-Code für benutzerdefinierte Mit-
  57.                     teilungen im Msg%(6)+Msg%(7), oder 0, wenn
  58.                     unbenutzt
  59.           Msg%(6)+Msg%(7)=Abhängig von Msg%(5)
  60.  
  61. 13010     BGPRINT
  62.           Druckt eine Datei im Hintergrund
  63.           Die Datei wird Blockweise zum Drucker gesand
  64.           ( Siehe GM_ASKPAR/MG_SENDPAR/GM_SENDPAR )
  65.           Msg%(2)=Puffergröße in Byte, oder -1, wenn die aktuelle
  66.                     Konfiguration übernommen werden soll
  67.           Msg%(3)=Zeitscheibe in ms, oder -1, wenn die aktuelle
  68.                     Konfiguration übernommen werden soll
  69.           Msg%(4)=High-Word der Adresse des Dateinamens
  70.           Msg%(5)=Low-Word der Adresse des Dateinamens
  71.                     Der Dateiname muß mit einem Null-Byte ab-
  72.                     geschlossen sein (C-String)
  73.           Msg%(6)=1 Datei wird nach dem Druck gelöscht
  74.                  =0 Datei wird nach dem Druck nicht gelöscht
  75.           Msg%(7)=Anzahl der Kopien bzw. der Ausdrucke
  76.                     1=1 Ausdruck, 2=2 Ausdrucke, usw.
  77.                     Achtung ! : 0 darf nicht übergeben werden !
  78.  
  79. 13013     GM_ASKPAR
  80.           Aktuelle Zeitscheibe in ms und Puffergröße beim MA 
  81.           erfragen
  82.  
  83. 13014     MG_SENDPAR
  84.           Antwort des MA auf GM_ASKPAR
  85.           Msg%(2)=Zeitscheibe in ms
  86.                     Für diese Anzahl ms wird während des Ausdrucks
  87.                     öfters Rechenzeit an die Hauptaplikation abge-
  88.                     geben
  89.           Msg%(3)=Puffer in Byte
  90.                     So viele Bytes werden als 1 Block zum Drucker
  91.                     gesand
  92.  
  93. 13015     GM_SENDPAR
  94.           Aktuelle Parameter des MA einstellen
  95.           Msg%(2)=Neue Zeitscheibe in ms, oder -1, falls diese
  96.                     nicht gesetzt werden soll
  97.           Msg%(3)=Neue Pufferlänge in Byte, oder -1, falls diese
  98.                     nicht gesetzt werden soll
  99.           Msg%(4)-Msg%(7) müssen den Wert -3 haben !
  100.  
  101. 13028     MG_EPRINT
  102.           Das MA hat den Ausdruck beendet
  103.           Auf diese Nachricht muß bei Druck im Vordergrund gewartet
  104.           werden ( Auf MG_AERROR auch ! ). Der Vordergrunddruck ist
  105.           noch nicht eingebaut
  106.  
  107. 13030     MG_ASK_CLIPBRD
  108.           Adresse des GEMLABEL Klemmbrettpuffers erfragen
  109.  
  110. 13031     GM_SEND_CLIPBRD
  111.           Antwort auf MG_ASK_CLIPBRD
  112.           Msg%(3)=High-Word der Adresse des Puffers
  113.           Msg%(4)=Low-Word der Adresse des Puffers
  114.  
  115. Dies ist der Stand des GLMA/MAGL-Protokolls am 27.05.95
  116.  
  117. GEMLABEL bzw. GLBL-Print unterstützen (teilweise) noch 2 weitere
  118. Protokolle:
  119.  
  120. 1) CALCLOCK-Protokoll
  121.      Dieses Protokoll stammt vom PC-GEM und wurde im Buch
  122.      "Vom Anfänger zum GEM-Profi" der Gebrüder Geiß
  123.      (erschienen im Hüthig-Verlag) beschrieben
  124.      Dieses Protokoll wird von GLBL-Print zum Hintergrunddruck
  125.      unterstützt
  126.      Benutzung des Protokolls:
  127.      Man sucht mit Appl_Find nach der Applikation "CALCLOCK"
  128.      ( desshalb heißt GLBL-Print auch CALCLOCK.ACC )
  129.      Erhält man eine ID zurück, schickt man CALCLOCK folgende
  130.      Nachricht:
  131.      Msg%(0)=100
  132.      Msg%(1)=ID des Absenders
  133.      Msg%(2)=-1
  134.      Msg%(3)=Länge des Dateinamens
  135.      Msg%(4)=High-Word der Adresse des Dateinamens
  136.      Msg%(5)=Low-Word der Adresse des Dateinamens
  137.      Msg%(6)=Anzahl der Kopien bzw. Ausdrucke
  138.      Msg%(7)=1 Datei wird nach dem Druck gelöscht
  139.             =0 Datei wird nach dem Druck nicht gelöscht
  140.  
  141.      CALCLOCK sendet dann, nach Empfang der Nachricht, an Sie
  142.      eine Rückmeldung:
  143.      Msg%(0)=101
  144.      Msg%(1)=ID von CALCLOCK
  145.      Msg%(2)-Msg%(7)=0
  146.      Auf diese Rückmeldung können Sie warten, oder auch nicht
  147.  
  148. 2) VA/AV-Protokoll
  149.      GEMLABEL und GLBL-Print unterstützen einige Funktionen
  150.      dieses Protokolls, das von GEMINI her bekannt ist
  151.  
  152. $4700     AV_PROTOKOLL
  153. (0x4700)  Nachfrage, ob eine Applikation etwas von diesem
  154.           Protokoll versteht
  155.           Msg%(3)= Bit 0 gesetzt: Versteht VA_SETSTATUS
  156.                    Bit 1 gesetzt: Versteht VA_START
  157.           Msg%(6)=High-Word der Adresse des ACC-Namens
  158.           Msg%(7)=Low-Word der Adresse des ACC-Namens
  159.                     Der ACC-Name ist, wie bei Appl_Find,
  160.                     8 Zeichen lang und mit einem Null-
  161.                     -Byte abgeschlossen ( C-String )
  162.  
  163. $4701     VA_PROTOSTATUS
  164. (0x4701)  Antwort auf AV_PROTOKOLL
  165.           Msg%(6)=High-Word der Adresse des Namens des Senders
  166.           Msg%(7)=Low-Word der Adresse des Namens des Senders
  167.           Zu Msg%(6)+Msg%(7) siehe auch AV_PROTOKOLL
  168.           Die Bedeutung der Bits in Msg%(3)-Msg%(5) lesen Sie
  169.           am besten in der Dokumentation zu GEMINI nach, da bei
  170.           GEMLABEL/GLBL-Print keines davon gesetzt ist
  171.  
  172. $4710     AV_SENDKEY
  173. (0x4710)  Ein ACC sendet der Hauptapplikation einen Tastendruck
  174.           Msg%(3)=Tastaturstatus
  175.           Msg%(4)=Scancode der gedrückten Taste
  176.           Diese Funktion wird von GEMLABEL nur fehlerhaft unter-
  177.           stützt, da bei GEMLABEL Tasturauswertung anders ist,
  178.           als sie für die korrekte Unterstützung dieser Funktion
  179.           sein sollte. In einer Späteren Version von GEMLABEL
  180.           werde ich das aber ändern. Bis es soweit ist kann SENDKEY
  181.           des GLMA/MAGL-Protokolls verwendet werden, das auch
  182.           später noch funktionieren wird.
  183.  
  184. $4711     VA_START
  185. (0x4711)  Hiermit wird ein ACC aktiviert
  186.           Wenn GEMLABEL diese Nachricht erhält wird die Toolbox
  187.           das oberste Fenster ( Achtung GEMLABEL läuft nicht als
  188.           ACC, aber unter einer Multitasking umgebung könnte es
  189.           zu dieser Nachricht kommen )
  190.           Bei GLBL-Print wird die Datei in der Kommandozeile im
  191.           Hintergrund gedruckt. Falls die Kommandozeile keine
  192.           Datei enthält, erscheint der GLBL-Print Hauptdialog
  193.           Msg%(3)=High-Word der Adresse der Kommandozeile
  194.           Msg%(4)=Low-Word der Adresse der Kommandozeile
  195.           Dieser Pointer darf auch 0 sein
  196.  
  197. Zu diesen Protokollfunktionen sollten Sie auch die Dokumentation
  198. von GEMINI zu rate ziehen
  199.  
  200. Wenn Sie irgendwelche Fragen zu GEMLABEL oder GLBL-Print haben,
  201. egal ob als Programmierer oder Anwender, können Sie sich an mich
  202. wenden:   Volker Janzen
  203.           bei Mattes
  204.           Haslacher Weg 17
  205.  
  206.           89075 Ulm  
  207.